package com.powernode.service;

import cn.hutool.core.lang.tree.Tree;
import com.powernode.entity.Category;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商品分类 服务类
 * </p>
 *
 * @author Juice
 * @since 2023-01-11
 */
public interface CategoryService extends IService<Category> {
    /**
    * 将商品分类列表转为树形列表
    */
    List<Tree<Long>> tree();

    /**
    * 根据商品分类id获取单个商品分类详情
    */
    Category getCategoryById(Long categoryId);
    /**
    * 商品分类新增
    */
    Category saveCategory(Category category);
    /**
    * 商品分类修改根据id，父分类或者分类层级不允许修改
    */
    Category updateCategoryById(Category category);

    /**
     * 商品分类单删
     **/
    boolean removeCategoryById(Long categoryId);

    /**
     * 根据商品分类层级获取商品分类集合
     */
    List<Category> listCategoriesByLevel(Integer level);
}
